Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick #21052 to 7.x: Add ingress controller dashboards #21054

Merged
merged 1 commit into from
Sep 14, 2020

Conversation

ChrsMark
Copy link
Member

@ChrsMark ChrsMark commented Sep 10, 2020

Cherry-pick of PR #21052 to 7.x branch. Original message:

What does this PR do?

This PR adds 2 Dashboards based ingress nginx controller fileset (implemented with #16197).

Most of the fields of ingress_controller are the same with access fileset of nginx module. In this most of the visualisations of these new dashboards are just copied from pre existing ones and modified accordingly while others are re-used. There are also some completely new ones. More spcifically:

  1. Operating systems breakdown [Filebeat Nginx] ECS, Browsers breakdown [Filebeat Nginx] ECS, Access Map [Filebeat Nginx] ECS. -> reused
  2. Top Upstreams [Filebeat Nginx Ingress Controller], Upstream Time Consumed By Path [Filebeat Nginx Ingress Controller], Request Volume By Path [Filebeat Nginx Ingress Controller] -> completely new inspired by some of https://github.com/kubernetes/ingress-nginx/tree/master/deploy/grafana/dashboards#2-request-handling-performance
  3. all others are duplicates with modified fileset.name

Why is it important?

To provide out of the box Dashboards for ingress controller service monitoring.

How to test this PR locally

  1. Setup ingress controller on minikube following https://kubernetes.io/docs/tasks/access-application-cluster/ingress-minikube/
  2. Redirect pods' logs to a temporary file: kubectl -n kube-system logs -f nginx-ingress-controller-6fc5bcc8c9-zm8zv >> /tmp/ingresspod
- module: nginx
  # Ingress-nginx controller logs. This is disabled by default. It could be used in Kubernetes environments to parse ingress-nginx logs
  ingress_controller:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/tmp/ingresspod"]
  1. Setup pipelines and dashboards in ES
  2. Start Filebeat
  3. Produce traffic:
1. visit `http://hello-world.info/v2` and `http://hello-world.info` from different browser engines
2. use curl and wget to access the pages with different http words ie: curl -d "param1=value1&param2=value2" -X GET hello-world.info 

Related issues

Screenshots

Screenshot 2020-09-10 at 13 54 28
Screenshot 2020-09-10 at 13 52 59

Signed-off-by: chrismark <[email protected]>
(cherry picked from commit 54ea284)
@ChrsMark ChrsMark added [zube]: In Review backport Team:Platforms Label for the Integrations - Platforms team labels Sep 10, 2020
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Sep 10, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations-platforms (Team:Platforms)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Sep 10, 2020
@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

Pipeline View Test View Changes Artifacts preview

Expand to view the summary

Build stats

  • Build Cause: [Pull request #21054 opened]

  • Start Time: 2020-09-10T13:51:18.032+0000

  • Duration: 59 min 29 sec

Test stats 🧪

Test Results
Failed 0
Passed 5558
Skipped 833
Total 6391

@ChrsMark ChrsMark merged commit bf3be3d into elastic:7.x Sep 14, 2020
@zube zube bot removed the [zube]: Done label Dec 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport Team:Platforms Label for the Integrations - Platforms team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants